package lecture08.animal;

/*
* 创建实体类Animal类,有私有属性:name,age,color
* 以及访问私有属性的get和set方法
* 另外创建一个输出动物信息的方法printInf(),输出格式:
* name:,age:,color:
* 在业务类创建对象("笑傲",2,"白色")
* 调用printInf()方法
* 1、改造方法:
* (1)方法名与其所在的类名同名
* (2)方法名前面没有返回值的修饰,连void都没有
* (3)方法体中没有return语句返回一个值
* 注意事项:
* (4)构造方法在实例化对象的时候被调用
* (5)如果代码中没有自定义改造方法,java默认提供一个无参构造,
* 如果自定义构造方法,java则不再提供构造方法
* 2、this关键字
* (1)使用this关键字访问成员变量(区分局部变量和成员变量)
* 这里的this相当于当前类的对象
* (2)在成员方法中使用this关键字调用成员方法,这里的this相对于类的对象,可以省略
* (3)在构造方法中使用this关键字调用构造方法
* 位置必须放在构造方法第一行,并且只能用一次
* 只能在构造方法中使用this关键字调用构造方法,而且不能互相调用
*
*
* */
class Animal {
    private String name;
    private int age;
    private String color;
    public Animal(int age) {
        this.age = age;
    }
    public Animal(String name, int age, String color) {
        this(age);
        this.name = name;
        this.age = age;
        this.color = color;
    }
    public void printInf() {
        System.out.println("name: " + name+", age: " + age+", color: " + color);
    }
}

public class AnimalTest {
    static void main() {
        Animal am1 = new Animal("a1", 2, "white");
        am1.printInf();
    }

}
